package com.zky.seckillzky.seckill.vo;

import lombok.Data;

import java.io.Serializable;

@Data
public class PayAsyncVo implements Serializable {

    private String notify_time;        //通知时间,通知的发送时间。格式为yyyy-MM-dd HH:mm:ss
    private String notify_type;        //通知类型
    private String notify_id;          //通知校验 ID
    private String sign_type;          //签名类型。商户生成签名字符串所使用的签名算法类型，目前支持 RSA2 和 RSA，推荐使用 RSA2
    private String sign;               //签名
    private String trade_no;           //支付宝交易号,支付宝交易凭证号
    private String app_id;             //开发者的 app_id。支付宝分配给开发者的应用 APPID
    private String out_trade_no;       //商户订单号。原支付请求的商户订单号。
    private String out_biz_no;         //商户业务号。商户业务 ID，主要是退款通知中返回退款申请的流水号。
    private String buyer_id;           //买家支付宝用户号。买家支付宝账号对应的支付宝唯一用户号。
    private String buyer_logon_id;     //买家支付宝账号
    private String seller_id;          //卖家支付宝用户号
    private String seller_email;       //卖家支付宝账号
    private String trade_status;       //交易状态。交易目前所处的状态
    private String total_amount;       //订单金额。本次交易支付的订单金额，单位为人民币（元）
    private String receipt_amount;     //实收金额。商户在交易中实际收到的款项，单位为人民币（元）
    private String invoice_amount;     //开票金额。用户在交易中支付的可开发票的金额。
    private String buyer_pay_amount;   //付款金额。用户在交易中支付的金额
    private String point_amount;       //集分宝金额。使用集分宝支付的金额
    private String refund_fee;         //总退款金额。退款通知中，返回总退款金额，单位为元，支持两位小数
    private String send_back_fee;      //实际退款金额。商户实际退款给用户的金额，单位为元，支持两位小数
    private String subject;            //订单标题。商品的标题/交易标题/订单标题/订单关键字等，是请求时对应的参数，原样通知回
    private String body;               //商品描述。该订单的备注、描述、明细等。对应请求时的 body 参数，原样通知回来
    private String gmt_create;         //交易创建时间。该笔交易创建的时间。格式为 yyyy-MM-dd HH:mm:ss
    private String gmt_payment;        //交易付款时间。该笔交易的买家付款时间。格式为 yyyy-MM-dd HH:mm:ss
    private String gmt_refund;         //交易退款时间。该笔交易的退款时间。格式为 yyyy-MM-dd HH:mm:ss.S
    private String gmt_close;          //交易结束时间。该笔交易结束时间。格式为 yyyy-MM-dd HH:mm:ss
    private String fund_bill_list;     //支付金额信息。支付成功的各个渠道金额信息
    private String voucher_detail_list;//优惠券信息。本交易支付时所使用的所有优惠券信息

    @Override
    public String toString() {
        return "支付回调信息{" + '\n' +
                "通知类型='" + notify_time + '\n' +
                ", 通知校验 ID='" + notify_type + '\n' +
                ", 通知类型='" + notify_id + '\n' +
                ", 签名类型='" + sign_type + '\n' +
                ", 签名='" + sign + '\n' +
                ", 支付宝交易号='" + trade_no + '\n' +
                ", 开发者的 app_id='" + app_id + '\n' +
                ", 商户订单号='" + out_trade_no + '\n' +
                ", 商户业务号='" + out_biz_no + '\n' +
                ", 买家支付宝用户号='" + buyer_id + '\n' +
                ", 买家支付宝账号='" + buyer_logon_id + '\n' +
                ", 卖家支付宝用户号='" + seller_id + '\n' +
                ", 卖家支付宝账号='" + seller_email + '\n' +
                ", 交易状态='" + trade_status + '\n' +
                ", 订单金额='" + total_amount + '\n' +
                ", 实收金额='" + receipt_amount + '\n' +
                ", 开票金额='" + invoice_amount + '\n' +
                ", 付款金额='" + buyer_pay_amount + '\n' +
                ", 集分宝金额='" + point_amount + '\n' +
                ", 总退款金额='" + refund_fee + '\n' +
                ", 实际退款金额='" + send_back_fee + '\n' +
                ", 订单标题='" + subject + '\n' +
                ", 商品描述='" + body + '\n' +
                ", 交易创建时间='" + gmt_create + '\n' +
                ", 交易付款时间='" + gmt_payment + '\n' +
                ", 交易退款时间='" + gmt_refund + '\n' +
                ", 交易结束时间='" + gmt_close + '\n' +
                ", 支付金额信息='" + fund_bill_list + '\n' +
                ", 优惠券信息='" + voucher_detail_list + '\n' +
                '}';
    }
}
